Wireless communication devices are very popular and widespread. They are used for more and more applications, and in response software developers are providing more applications. For example, users may employ wireless communication devices for map applications, chat and messaging applications, shopping applications, image capturing, gaming, and social networking applications, among other things.
As wireless communication device applications become widespread and are relied upon to perform more and more tasks, it becomes increasingly important for developers to understand how wireless communication devices are being used in order to better design new wireless communication device applications. One aspect of wireless communication device use that developers are increasingly concerned about is how users hold and move their wireless communication devices. For example, it may be important for application developers to know if users are holding wireless communication devices in a landscape mode while using a particular application. If the particular application was developed to be used in a landscape mode orientation, the developer will want to know if users hold their wireless communication devices in a landscape mode orientation when using the particular application. Further, developers will want to know if users hold their wireless communication devices at unusual angles or move their wireless communication devices in unexpected ways while using applications.
Overview
Systems and methods for gathering and reporting wireless device orientation information are provided herein. In one example, a wireless communication device is configured to gather and report device orientation information and includes an interface configured to communicate with a user and with external devices, a storage system configured to store at least an orientation detect routine and reference point information corresponding to two or more reference points on the wireless communication device, and a processing system coupled to the interface and the storage system and configured to determine if a predetermined orientation capture event has occurred, if the predetermined orientation capture event has occurred, then determine relative positions of the two or more reference points, save the relative positions of the two or more reference points to the orientation information and accumulate the orientation information for the wireless communication device, and transfer the orientation information to an external device or devices at intervals.
In an example of an orientation information gathering method in a wireless communication device, the method includes, in the wireless communication device, determining if a predetermined orientation capture event has occurred, in the wireless communication device, if the predetermined orientation capture event has occurred, then determining relative positions of two or more reference points, in the wireless communication device, saving the relative positions of the two or more reference points to the orientation information and accumulating the orientation information for the wireless communication device, and in the wireless communication device, transferring the orientation information to an external device or devices at intervals.
In an example of a computer-readable storage media for an orientation information gathering method in a wireless communication device, the computer-readable storage media having program instructions stored thereon that, when executed by a processing system, directs the processing system to determine if a predetermined orientation capture event has occurred, if the predetermined orientation capture event has occurred, then determine relative positions of two or more reference points on the wireless communication device, save the relative positions of the two or more reference points to the orientation information and accumulate the orientation information for the wireless communication device, and transfer the orientation information to an external device or devices at intervals.